# set 集合类型
'''
    set 是一个无序且元素不重复的集合数据类型
    set 集合使用 大括号或者使用set() 方法来定义
'''

# vars = {1, 2, 3, 'a', 'b'}
# print(vars, type(vars)) # {1, 2, 3, 'b', 'a'} <class 'set'>
# vars = set('123123')
# print(vars, type(vars)) # {'1', '2', '3'} <class 'set'>


# 定义空集合时，只能使用set() 方法，因为使用{}会定义空字典
# vars = set()
# print(vars, type(vars)) # set() <class 'set'>

# 给集合添加元素
# a = {1, 2, 3, 'a'}
# a.add('b')
# print(a) # {1, 2, 3, 'b', 'a'}
# 无法获取集合中的单个元素，可以检测元素是否在集合中
# print(1 in a) # True
# 删除集合中的元素
# a.discard('b') # {1, 2, 3, 'a'}
# print(a)

# 集合主要用于运算，交集，差集，并集，对称集合
a = {1, 2, 3, 'a', 'b'}
b = {1, 'a', 22, 33}
print(a & b) # 交集 {1, 'a'}
print(a - b) # 差集 {'b', 2, 3} a集合有，b集合没有
print(b - a) # 差集 {33, 22} b集合有，a集合没有
print(a | b) # 并集 {1, 2, 3, 33, 22, 'b', 'a'}
print(a ^ b) # 对称差集 {33, 2, 3, 22, 'b'} 把两个集合合并，并把重复的去掉



